﻿// 盖游戏板2 BOARDCOVER2.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
/*
https://algospot.com/judge/problem/read/BOARDCOVER2

问题：
有一个大小为H×W的游戏板和多个相同形状的方块。想要在游戏板上放置尽可能多的方块，游戏板由黑色格子和白色格子组成，只能将方块放在白色格子上。方块可以自由旋转放置，但不能重叠、超出格子范围或覆盖黑色格子。

上图展示了一个例子，游戏板是一个15个白色格子的方形，L形状的方块可以放置最多三个。给定游戏板和方块的形状，编写一个程序来确定最多可以放置多少个方块。

输入：
输入的第一行是测试用例的数量T（T≤100）。每个测试用例的第一行包含游戏板的大小H，W（1≤H，W≤10），以及表示方块形状的格子大小R，C（1≤R，C≤10）。接下来的H行，每行包含一个长度为W的字符串，表示游戏板的信息。字符串的每个字符代表游戏板的一个格子，#表示黑色格子，.表示白色格子。接下来的R行，每行包含一个长度为C的字符串，表示方块的形状。在该字符串中，#表示方块的一部分，.表示空格。

每个游戏板最多有50个白色格子，每个方块由3到10个方格组成。如果两个边的一条边与另一个边相邻，则构成方块的所有方格是直接或间接连接的。

输出：
对于每个测试用例，输出可以放置的最大方块数。

示例输入：
2
4 7 2 3
##.##..
#......
#....##
#..####

#..
5 10 3 3
..........
..........
..........
..........
..........
.#.

..#

示例输出：
3
8
*/
int main()
{
    std::cout << "Hello World!\n";
}

 